package com.atguigu.gulimall.order.feign;

import com.atguigu.common.utils.R;
import com.atguigu.gulimall.order.vo.WareSkuLockedVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author gcq
 * @Create 2021-01-05
 */
@FeignClient("gulimall-ware")
public interface WareFeignService {

    /**
     * @需求描述: 系统管理员 商品库存组 模块 根据skuid查询是否存在库存
     * @创建人: 郭承乾
     * @创建时间: 2020/12/28 8:29
     * @修改需求:
     * @修改人:
     * @修改时间:
     * @需求思路:
     */
    @PostMapping("/ware/waresku/hashStock")
    public R hasStock(@RequestBody List<Long> skuIds);

    /**
    * @需求描述: 系统管理员 商品库存组 模块 查询用户收货地址信息
    * @创建人: 郭承乾
    * @创建时间: 2021/01/07 10:26
    * @修改需求:
    * @修改人:
    * @修改时间:
    * @需求思路:
    */
    @GetMapping("/ware/wareinfo/getFare")
    public R getFare(@RequestParam("addrId") Long addrId);


    /**
    * @需求描述: 系统管理员 商品库存组 模块 根据库存工作单锁住对应的库存
    * @创建人: 郭承乾
    * @创建时间: 2021/01/07 15:05
    * @修改需求:
    * @修改人:
    * @修改时间:
    * @需求思路:
    */
    @PostMapping("/ware/waresku/lock/order")
    public R orderLockStock(@RequestBody WareSkuLockedVo vo);

}